/******************************************************************
 *
 * Copyright 2017 Samsung Electronics All Rights Reserved.
 *
 *
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 *
 ******************************************************************/
#include "PMCsdkCallbackHelper.h"
#include "PMCsdkUtilityHelper.h"

bool PMCsdkCallbackHelper::s_CBInvoked = CALLBACK_NOT_INVOKED;

void PMCsdkCallbackHelper::callbackWrapper(bool hasError, size_t nOfRes, void* ctx,
        OCProvisionResult_t* arr)
{
    if (!hasError)
    {
        IOTIVITYTEST_LOG(INFO, "Provision SUCCEEDED - ctx: %s", (char* ) ctx);
        PMCsdkCallbackHelper::s_CBInvoked = CALLBACK_INVOKED;
    }
    else
    {
        IOTIVITYTEST_LOG(ERROR, "Provision Pairwise Failed - ctx: %s", (char* ) ctx);
        PMCsdkUtilityHelper::printResultList((const OCProvisionResult_t*) (arr), nOfRes);
    }
}

void PMCsdkCallbackHelper::provisionGetCB(void* ctx, size_t nOfRes, OCProvisionResult_t* arr,
    bool hasError)
{
    callbackWrapper(hasError, nOfRes, ctx, arr);
}

void PMCsdkCallbackHelper::provisionPutCB(void* ctx, size_t nOfRes, OCProvisionResult_t* arr,
    bool hasError)
{
    callbackWrapper(hasError, nOfRes, ctx, arr);
}

void PMCsdkCallbackHelper::provisionPostCB(void* ctx, size_t nOfRes, OCProvisionResult_t* arr,
    bool hasError)
{
    callbackWrapper(hasError, nOfRes, ctx, arr);
}

void PMCsdkCallbackHelper::provisionDeleteCB(void* ctx, size_t nOfRes, OCProvisionResult_t* arr,
    bool hasError)
{
    callbackWrapper(hasError, nOfRes, ctx, arr);
}
